import * as dotenv from "dotenv";


dotenv.config();
// 导入express和创建router
import express from 'express';
const router = express.Router();

// 导入人物数据和回复生成器
import { characterDetails, responseTypes, questionKeywords, relationshipKeywords, eventsDetails } from '../utils/characterData.js';
import { generateResponse } from '../utils/responseGenerator.js';

// GET endpoint to get character info
router.get('/characters', (req, res) => {
  try {
    const characters = [
      { id: 'liuBei', name: '刘备', description: '刘备（161年－223年），字玄德，东汉末年幽州涿郡涿县人，三国时期蜀汉开国皇帝。' },
      { id: 'caoCao', name: '曹操', description: '曹操（155年－220年），字孟德，东汉末年杰出的政治家、军事家、文学家、书法家。' },
      { id: 'sunQuan', name: '孙权', description: '孙权（182年－252年），字仲谋，吴郡富春人，三国时期孙吴的建立者。' }
    ];

    res.json({
      success: true,
      characters
    });
  } catch (error) {
    res.status(500).json({ error: 'Internal server error' });
  }
});

// POST endpoint for chat messages
router.post('/message', async (req, res) => {
  try {
    const { character, userMessage } = req.body;

    if (!character || !userMessage) {
      return res.status(400).json({
        success: false,
        error: 'Character and message are required'
      });
    }

    // 使用增强的关键词匹配系统生成回复
    const aiResponse = await generateResponse(character, userMessage);

    res.json({
      success: true,
      response: aiResponse
    });
  } catch (error) {
    console.error('Error handling chat message:', error);
    res.status(500).json({
      success: false,
      error: 'Internal server error',
      details: error.message
    });
  }
});

export default router;